home *** CD-ROM | disk | FTP | other *** search
- LONG databaselength = 0;
- LONG grey = 0;
- LONG black = 0;
- LONG white = 0;
- LONG silver = 0;
- LONG ICGateNumber[500];
- LONG ICPinfunction[500][128];
- LONG ICPinnumbers[500];
- LONG ICType[500];
- char ICName[500][100];
- char ICDescript[500][8][100];
- char ICPinout[500][128][20];
- struct IntuiText IntuiText;
- struct List databaselist;
- struct Node *Node = NULL;
- struct RastPort *Rastport = NULL;
-
- void loaddatabase(void);
- void calculatelayout(void);
- char *stringcopy(char *, const char *);
-
- void Window1_CloseWindow_Event(void)
- {
- Emperor_QuitProgram();
- // if(Quitrequest1()) Emperor_QuitProgram();
- }
-
- void Startup(void)
- {
- /* Get some nessesary pens */
-
- grey = ObtainBestPen(Screen1->ViewPort.ColorMap, 0x64000000, 0x64000000, 0x64000000, OBP_Precision, PRECISION_IMAGE, TAG_DONE);
- black = ObtainBestPen(Screen1->ViewPort.ColorMap, 0x00000000, 0x00000000, 0x00000000, OBP_Precision, PRECISION_IMAGE, TAG_DONE);
- white = ObtainBestPen(Screen1->ViewPort.ColorMap, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, OBP_Precision, PRECISION_IMAGE, TAG_DONE);
- silver = ObtainBestPen(Screen1->ViewPort.ColorMap, 0xD2000000, 0xD2000000, 0xBE000000, OBP_Precision, PRECISION_IMAGE, TAG_DONE);
- loaddatabase();
- }
-
- void Shutdown(void)
- {
- }
-
- void Window1_ShowWindow_Event(void)
- {
- SetGadgetAttrs(Listbrowser1, Window1, NULL, LISTBROWSER_Labels, &databaselist, LISTBROWSER_Selected, 0, TAG_DONE);
- Rastport = Window1->RPort;
- calculatelayout();
- }
-
- void Chooser1_GadgetUp_Event(void)
- {
- }
-
- void Listbrowser1_GadgetUp_Event(void)
- {
- calculatelayout();
- }
-
- void Menu_Information1_MenuPick_Event(void)
- {
- Inforequest1();
- }
-
- void Menu_Quit1_MenuPick_Event(void)
- {
- if(Quitrequest1()) Emperor_QuitProgram();
- }
-
- void calculatelayout(void)
- {
- /* This is the main layout rendering function */
-
- LONG counter;
- LONG intuilength;
- LONG maxchipwidth;
- LONG selected;
- char construct[50];
-
- /* Clear layout and get some infos */
- SetAPen(Rastport, 0);
- RectFill(Rastport, Layout3->LeftEdge + 3, Layout3->TopEdge + 3, Layout3->LeftEdge + Layout3->Width - 3, Layout3->TopEdge + Layout3->Height - 3);
- selected = stringtoint(Emperor_GetGadgetAttr(Listbrowser1));
- SetAPen(Rastport, black);
- maxchipwidth = Layout3->Width / 2 - Layout3->Width / 5;
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 1, Layout3->TopEdge + 20, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 1, Layout3->TopEdge + Layout3->Height - 20);
- SetAPen(Rastport, white);
-
- /* Draw the pins */
- for(counter = 0;counter < ICPinnumbers[selected] / 2;counter++)
- {
- SetAPen(Rastport, silver);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth - 20,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * (1 + 2 * counter) / (ICPinnumbers[selected] - 1),
- Layout3->LeftEdge + maxchipwidth,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * 2 * counter / (ICPinnumbers[selected] - 1));
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth - 19,
- Layout3->TopEdge + Layout3->Height - 19 - (Layout3->Height - 40) * (1 + 2 * counter) / (ICPinnumbers[selected] - 1),
- Layout3->LeftEdge + maxchipwidth,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * 2 * counter / (ICPinnumbers[selected] - 1));
- SetAPen(Rastport, silver);
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * (1 + 2 * counter) / (ICPinnumbers[selected] - 1),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth + 20,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * 2 * counter / (ICPinnumbers[selected] - 1));
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth,
- Layout3->TopEdge + Layout3->Height - 19 - (Layout3->Height - 40) * (1 + 2 * counter) / (ICPinnumbers[selected] - 1),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth + 19,
- Layout3->TopEdge + Layout3->Height - 20 - (Layout3->Height - 40) * 2 * counter / (ICPinnumbers[selected] - 1));
- }
-
- /* Draw in/out/bidirectional arrows */
- for(counter = 0;counter < ICPinnumbers[selected] / 2;counter++)
- {
- SetAPen(Rastport, silver);
- if(ICPinfunction[selected][2 * counter + 1] == -1)
- {
- }
- else
- {
- if(ICPinfunction[selected][2 * counter + 1] == +1)
- {
- }
- else
- {
- if(ICPinfunction[selected][2 * counter + 1] == 0)
- {
- }
- else
- {
- if(ICPinfunction[selected][2 * counter + 1] - 10 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 7, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 7, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- else
- {
- if(ICPinfunction[selected][2 * counter + 1] - 20 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 11, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 11, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- else
- {
- if(ICPinfunction[selected][2 * counter + 1] - 30 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 7, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 7, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 11, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + maxchipwidth - 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth - 11, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- }
- }
- }
- }
- }
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] == -1)
- {
- }
- else
- {
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] == +1)
- {
- }
- else
- {
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] == 0)
- {
- }
- else
- {
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] - 10 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 7, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 7, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- else
- {
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] - 20 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 11, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 11, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- else
- {
- if(ICPinfunction[selected][ICPinnumbers[selected] * 2 - 2 * counter - 1] - 30 < 10)
- {
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 7, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 3, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 7, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 11, (WORD) (Layout3->TopEdge + Layout3->Height - 18 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 15, (WORD) (Layout3->TopEdge + Layout3->Height - 20 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth + 11, (WORD) (Layout3->TopEdge + Layout3->Height - 22 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- }
- }
- }
- }
- }
- }
-
- /* Draw description */
- IntuiText.FrontPen = silver;
- IntuiText.BackPen = 0;
- IntuiText.DrawMode = JAM1;
- IntuiText.LeftEdge = 0;
- IntuiText.TopEdge = 0;
- for(counter = 0;counter < ICPinnumbers[selected] / 2;counter++)
- {
- switch(ICPinout[selected][2 * counter][0])
- {
- case '+':
- strcpy(construct, "+ 5 Volt");
- break;
- case '-':
- strcpy(construct, "Masse");
- break;
- case 'E':
- strcpy(construct, "Eingang ");
- strcat(construct, inttostring(ICPinfunction[selected][2 * counter + 1] - 10));
- break;
- case 'A':
- strcpy(construct, "Ausgang ");
- strcat(construct, inttostring(ICPinfunction[selected][2 * counter + 1] - 20));
- break;
- default:
- strcpy(construct, ICPinout[selected][2 * counter]);
- break;
- }
- IntuiText.IText = (UBYTE *) construct;
- PrintIText(Rastport, &IntuiText, Layout3->LeftEdge + 10, (WORD) (Layout3->TopEdge + Layout3->Height - 20 - Screen1->Font->ta_YSize / 2 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- switch(ICPinout[selected][2 * (ICPinnumbers[selected] - counter - 1)][0])
- {
- case '+':
- strcpy(construct, "+ 5 Volt");
- break;
- case '-':
- strcpy(construct, "Masse");
- break;
- case 'E':
- strcpy(construct, "Eingang ");
- strcat(construct, inttostring(ICPinfunction[selected][2 * ICPinnumbers[selected] - 2 * counter - 1] - 10));
- break;
- case 'A':
- strcpy(construct, "Ausgang ");
- strcat(construct, inttostring(ICPinfunction[selected][2 * ICPinnumbers[selected] - 2 * counter - 1] - 20));
- break;
- default:
- strcpy(construct, ICPinout[selected][2 * (ICPinnumbers[selected] - counter - 1)]);
- break;
- }
- IntuiText.IText = (UBYTE *) construct;
- intuilength = IntuiTextLength(&IntuiText);
- PrintIText(Rastport, &IntuiText, Layout3->LeftEdge + Layout3->Width - intuilength - 10, (WORD) (Layout3->TopEdge + Layout3->Height - 20 - Screen1->Font->ta_YSize / 2 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
-
- /* Draw some other stuff */
- SetAPen(Rastport, grey);
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 6, Layout3->TopEdge + 30);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 1, Layout3->TopEdge + 20);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 1, Layout3->TopEdge + Layout3->Height - 20);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 6, Layout3->TopEdge + Layout3->Height - 30);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 6, Layout3->TopEdge + 30);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 6, Layout3->TopEdge + 30);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 1, Layout3->TopEdge + 20);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 1, Layout3->TopEdge + Layout3->Height - 20);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 6, Layout3->TopEdge + Layout3->Height - 30);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 6, Layout3->TopEdge + 30);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 6, Layout3->TopEdge + Layout3->Height - 30);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 6, Layout3->TopEdge + Layout3->Height - 30);
- SetAPen(Rastport, black);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 70, Layout3->TopEdge + 20, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 70, Layout3->TopEdge + 30);
- SetAPen(Rastport, grey);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 70, Layout3->TopEdge + 20);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 70, Layout3->TopEdge + 30);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 70, Layout3->TopEdge + 30);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 70, Layout3->TopEdge + 20);
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 71, Layout3->TopEdge + 20);
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 71, Layout3->TopEdge + 29);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 71, Layout3->TopEdge + 29);
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 71, Layout3->TopEdge + 20);
-
- switch(ICGateNumber[selected])
- {
- case 1:
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 40, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 40,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 41,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- break;
- case 2:
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- break;
- case 3:
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 40, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 40, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 40,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 41,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 9.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11.5) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13.5) / (ICPinnumbers[selected] - 1)));
- break;
- case 40:
- for(counter = 0;counter < 4;counter += 2)
- {
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 7.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 7.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 7.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- }
- break;
- case 41:
- for(counter = 0;counter < 4;counter += 2)
- {
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 3 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 3 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 3 * counter) / (ICPinnumbers[selected] - 1)));
- }
- break;
- case 5:
- break;
- case 6:
- if(ICPinnumbers[selected] == 14)
- {
- for(counter = 0;counter < 6;counter += 2)
- {
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- }
- if(ICPinnumbers[selected] == 16)
- {
- for(counter = 0;counter < 4;counter += 2)
- {
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 1.5 - 2 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 3.5 - 2 * counter) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 5.5 - 2 * counter) / (ICPinnumbers[selected] - 1)));
- }
- SetAPen(Rastport, silver);
- Move(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 - 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + maxchipwidth + 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11) / (ICPinnumbers[selected] - 1)));
-
- Move(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 15) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 30 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 15) / (ICPinnumbers[selected] - 1)));
- Draw(Rastport, Layout3->LeftEdge + Layout3->Width - maxchipwidth - 30, (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
-
- SetAPen(Rastport, grey);
- RectFill(Rastport, Layout3->LeftEdge + maxchipwidth + 30,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 11) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width / 2 - 6,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)));
- RectFill(Rastport, Layout3->LeftEdge + Layout3->Width / 2 + 5,
- (WORD) (Layout3->TopEdge + Layout3->Height - 10 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 13) / (ICPinnumbers[selected] - 1)),
- Layout3->LeftEdge + Layout3->Width - maxchipwidth - 31,
- (WORD) (Layout3->TopEdge + Layout3->Height - 31 + (40 - Layout3->Height) * (ICPinnumbers[selected] - 15) / (ICPinnumbers[selected] - 1)));
- }
- break;
- case 7:
- break;
- case 8:
- break;
- }
-
- switch(ICType[selected])
- {
- case 1:
- /* NAND */
-
- break;
- case 2:
- /* NOR */
-
- break;
- case 3:
- /* AND */
-
- break;
- case 4:
- /* OR */
-
- break;
- case 5:
- /* XNOR */
-
- break;
- case 6:
- /* XOR */
-
- break;
- case 7:
- /* NOT */
-
- break;
- case 8:
- /* DRIVER */
-
- break;
- case 9:
- /* AND/NOR */
-
- break;
- case 10:
- /* SCHMITT-TRIGGER */
-
- break;
- case 11:
- /* EXPANDER */
-
- break;
- case 12:
- /* AND/OR */
-
- break;
- case 20:
- /* DECODER BCD->DECIMAL */
-
- break;
- case 21:
- /* DECODER EXCESS3->DECIMAL */
-
- break;
- case 22:
- /* DECODER EXCESSGRAY->DECIMAL */
-
- break;
- case 23:
- /* DECODER BCD->7SEGMENT*/
-
- break;
- case 30:
- /* FREQENCY-DIVIDER */
-
- break;
- }
- }
-
- void loaddatabase(void)
- {
- FILE *database = NULL;
- BOOL done = FALSE;
- LONG databasecounter1, databasecounter2;
- char databaseentry[100];
-
- database = fopen("PROGDIR:IntegratedCircuitDB.database", "r");
- if(database)
- {
- databaselength = 0;
- while((!done) && (databaselength < 500))
- {
- for(databasecounter1 = 0;databasecounter1 < 4;databasecounter1++)
- {
- fgets(databaseentry, 10, database);
- if(databaseentry[0] == '#')
- {
- if(databasecounter1 == 0) done = TRUE;
- databasecounter1 = 4;
- }
- else
- {
- if(databasecounter1 == 0) stringcopy(ICName[databaselength], databaseentry);
- if(databasecounter1 == 1) ICType[databaselength] = stringtoint(databaseentry) / 10;
- if(databasecounter1 == 2) ICGateNumber[databaselength] = stringtoint(databaseentry) / 10;
- }
- }
- if(!done)
- {
- for(databasecounter1 = 0;databasecounter1 < 8;databasecounter1++)
- {
- fgets(databaseentry, 100, database);
- if(databaseentry[0] == '#') databasecounter1 = 8;
- else
- {
- stringcopy(ICDescript[databaselength][databasecounter1], databaseentry);
- }
- }
- for(databasecounter1 = 0, databasecounter2 = 0;databasecounter1 < 128;databasecounter1++, databasecounter2++)
- {
- if(databasecounter2 == 2) databasecounter2 = 0;
- fgets(databaseentry, 10, database);
- if(databaseentry[0] == '#')
- {
- ICPinnumbers[databaselength] = databasecounter1 / 2;
- databasecounter1 = 128;
- }
- else
- {
- if(databasecounter2 == 0) stringcopy(ICPinout[databaselength][databasecounter1], databaseentry);
- if(databasecounter2 == 1) ICPinfunction[databaselength][databasecounter1] = stringtoint(databaseentry) / 10;
- }
- }
- databaselength++;
- }
- fgets(databaseentry, 10, database);
- }
- fclose(database);
- NewList(&databaselist);
- for(databasecounter1 = 0;databasecounter1 < databaselength;databasecounter1++)
- {
- Node = AllocListBrowserNode(1, LBNCA_CopyText, TRUE, LBNCA_Text, ICName[databasecounter1], TAG_DONE);
- AddTail(&databaselist, Node);
- }
- }
- else
- {
- Errorrequest1();
- Emperor_QuitProgram();
- }
- }
-
- char *stringcopy(char *buffer1, const char *buffer2)
- {
- char *d = buffer1, c;
-
- do
- {
- c = *buffer2++;
- if(c != 0x0a) *buffer1++ = c;
- }
- while(c);
-
- return(d);
- }
-
-